The present application relates in general to gaming devices and systems and, in particular, to methods and apparatus for providing services on networked gaming devices.
Casinos and other forms of gaming comprise a growing multi-billion dollar industry both domestically and abroad, with electronic and microprocessor based gaming machines being more popular than ever. Gaming machines may be placed in casinos, convenience stores, racetracks, supermarkets, bars and boats. Via a remote server, a gaming entity may provide gaming services in locale of a user's choosing, such as on a home computer or on a mobile device carried by the user.
Electronic and microprocessor based gaming machines can include various hardware and software components to provide a wide variety of game types and game playing capabilities, with such hardware and software components being generally well known in the art. For example, bill validators, coin acceptors, card readers, keypads, buttons, levers, touch screens, displays, coin hoppers, player tracking units and the like are examples of hardware that can be coupled to a gaming machine. Software components can include, for example, boot and initialization routines, various game play programs and subroutines, credit and payout routines, image and audio generation programs, security monitoring programs, authentication programs and a random number generator, among others.
The functions available on a gaming machine may depend on whether the gaming machine is linked to other gaming devices. For instance, when connected to other remote gaming devices, a gaming machine may provide progressive jackpots, player tracking and loyalty points programs, cashless gaming, and bonusing among other items. Many of these added components, features and programs can involve the implementation of various back-end and/or networked systems, including more hardware and software elements, as is generally known.
In a typical casino-based electronic gaming machine, such as a slot machine, video poker machine, video keno machine or the like, a game play is initiated through a wager of money or credit, whereupon the gaming machine determines a game outcome, presents the game outcome to the player and then potentially dispenses an award of some type, including a monetary award, depending upon the game outcome. In this instance, the gaming machine is operable to receive, store and dispense indicia of credit or cash as well as calculate a gaming outcome that could result in a large monetary award.
Over the years, wager-based gaming has evolved from stand-alone “one-arm bandits” with no electronics to today's electronic gaming machines, often interconnected and dependent upon a central server via a network in a casino or other gaming environment. With increasing services and operations being provided by a back-end server, such dependent gaming machines on the front-end are commonly referred to as “thin” clients of the server. Using thin-client gaming machines, players can enjoy a private gaming experience on some levels and shared experiences on other levels, for instance, by participating in progressive jackpots. Large numbers of people can use server-based gaming machines and participate in such networked gaming environments.
In a server-based gaming network, gaming machines, servers, and other devices communicate with one or more interconnected networks and are structured in a server-client configuration, where the server collects and distributes information from/to the various gaming devices. Additional advancements in recent years have included functionality enabling gaming devices to exchange information with other gaming devices for the purpose of shared, i.e. non-private, gaming experiences. Such advancements, however, have been limited to game- and player-oriented exchanges of information enabling multiple players to simultaneously play gaming devices and share bonuses and other game-oriented features. These sorts of communal and peer-to-peer group gaming experiences have gained in popularity.
With the addition in functionality and the greater dependence on a back-end server, casino floor uptime and system redundancy have become more of a concern. Gaming environments such as casinos are generally open for business 24 hours a day, 7 days a week. Thus, the gaming machines, servers, and particularly the gaming network itself need to be operational/online at all times. A power or communications link can result in the gaming machines being inoperable, a failure which would be inherently devastating to business. While it could be argued that certain other businesses face some similar problems, casinos are uniquely situated in that the gaming machines themselves are the revenue centers, such that the casinos often have one or more floors full of processing and memory power, i.e., in the gaming machines. Thus, there is a particular cost advantage to utilizing those gaming machines, as opposed to the redundant backup servers and other equipment that more traditional businesses use.
In the casino model, if the network goes down, or one or more servers (such as a bonus server or player tracking server) fail, thin-client gaming machines may not receive data and files necessary to operate, and can thus become unplayable. Moreover, in the thin client-server model, a variety of services are implemented and executed on the back end. For instance, player tracking, slot accounting, and other services are carried out on back-end servers, and all of these services require regular communications with client gaming machines over the network to be carried out properly. If the network goes down, all of these services can become problems.
Thus, in the conventional client-server model, more resources are required on the back-end servers to compensate for having less resources and services at the gaming machines. One conventional solution has been to use server farms, with multiple servers configured to provide the same information and operations, so that one server can compensate if another goes down. However, in this solution, regardless of how many back-end servers are provided, the gaming machines will still be inoperable if the entire network goes down. Another proposed solution has been to include logic at the gaming machines, allowing a player to play out the games and then re-sync with the back-end server when the network is back online. Such solutions require extra logic, processing power, and data storage at the gaming machines, thus defeating the purpose (to some degree) of relying on a back-end server in the thin client model. In addition, such solutions often involve significant effort to be managed properly, requiring extra time and cost on the part of the casino operator. In such conventional solutions, the network itself can become a significant cost burden, that is, attempting to compensate for the possibility of it going offline.